#ifndef _SYNCRONIZER_H
#define _SYNCRONIZER_H

namespace Syncronization
{
	struct Message;

	class Syncronizer
	{
	public:
		static void Create();
		static void Destroy();

		static void Send(Message* aMessage);
		static Utils::GrowingArray<Message*>& GetMessages();
		static void ClearMessages();

	private:
		Syncronizer();
		~Syncronizer();

	private:
		static Syncronizer* ourInstance;
		Utilities::GrowingArray<Message*> myMessageQueue;
	};
}

#endif